<template>
	<view v-if="items.length>0">
		<uni-section title="资料分类" type="line">
			<san-tabs v-model="current" :tabIndex="current" :data="items" @change="changetabs"></san-tabs>
		</uni-section>
	</view>
</template>

<script>
	export default {
		name: "goods-list-tabs",
		data() {
			return {
				items: [], //选项卡的备选项 通过父组件动态改变 在watch中有监听
				current: 0, //
				protoGoodsList: [], //刚传入原始数组
				tabsFilterGoodsList: [], //经过分类名称过滤的数组
			}
		},
		props: ['tabsList'],
		watch: {
			tabsList() {
				//传入的数据在挂载后的钩子中拿不到父组件传入的值 需要在这里监听一下 有数据立刻赋值给items
				//将分类列表放入tabs的 items备选数组中
				this.items = ['全部', ...this.tabsList.map(item => item.goods_type)]
			},
		},
		mounted() {
			// 调用预设在methods的方法
		},
		methods: {
			//新的tabs
			changetabs(e) {
				//通过传入的索引 参考 this.items 拿到分类名称  通过分类名称 过滤出对应的商品(维护一个新的数组)
				//子传父有多种操作方法  可以在父组件标记子组件时 使用@自定义方法名称（子组件 $emit）也可以当作props传入子组件 也可以调用
				this.$emit('getGoodsTypeNameByTabsHook', e)
			},
			initTabs() {},
		}
	}
</script>

<style lang="scss">
	.example-body {
		/* #ifndef APP-NVUE */
		display: flex;
		/* #endif */
		flex-direction: row;
		padding: 0;
	}

	.uni-common-mt {
		margin-top: 30px;
	}

	.uni-padding-wrap {
		// width: 750rpx;
		padding: 0px 30px;
	}

	.content {
		/* #ifndef APP-NVUE */
		display: flex;
		/* #endif */
		justify-content: center;
		align-items: center;
		height: 150px;
		text-align: center;
	}

	.content-text {
		font-size: 14px;
		color: #666;
	}

	.color-tag {
		width: 25px;
		height: 25px;
	}

	.uni-list {
		flex: 1;
	}

	.uni-list-item {
		/* #ifndef APP-NVUE */
		display: flex;
		/* #endif */
		flex: 1;
		flex-direction: row;
		background-color: #FFFFFF;
	}


	.uni-list-item__container {
		padding: 12px 15px;
		width: 100%;
		flex: 1;
		position: relative;
		/* #ifndef APP-NVUE */
		display: flex;
		box-sizing: border-box;
		/* #endif */
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
		border-bottom-style: solid;
		border-bottom-width: 1px;
		border-bottom-color: #eee;
	}

	.uni-list-item__content-title {
		font-size: 14px;
	}
</style>
